<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />

	<title>N/A</title>

	<!-- Fichiers de style -->

	<!-- Fichiers core -->
	<script src="js/core/lib/domready.js"></script>
	<script src="js/core/lib/Path.js"></script>
	<script src="js/core/misc/Tools.js"></script>
	<script src="js/core/misc/Input.js"></script>

	<!-- Fichiers de configuration -->
	<script src="js/conf/map.cfg.js"></script>
	<script src="js/conf/ressource.cfg.js"></script>
	<script src="js/conf/building.cfg.js"></script>
	<script src="js/conf/unit.cfg.js"></script>

	<!-- Fichiers sources -->
	<script src="js/main/Game.js"></script>
	<script src="js/main/MapManager.js"></script>
	<script src="js/main/Map.js"></script>	
	<script src="js/main/UnitManager.js"></script>	
	<script src="js/main/Unit.js"></script>	
	<script src="js/main/Cell.js"></script>	
	<script src="js/main/Ressource.js"></script>
	<script src="js/main/Building.js"></script>
	<script src="js/main/Player.js"></script>

	<!-- Fichiers écrans -->

	<!-- Tutorial -->

</head>
<body role="main">

	<canvas id="gameCanvas" width="500" height="500"></canvas>

	<script>

		/**
		 * Global vars
		 **/
		var canvas,
			TIME,
			game,
			currentGameObject,
			input;
			
		// Initialisation canvas
		canvas = $('#gameCanvas');
		CTX = canvas.getContext('2d');
		
		// Uniquement si le canvas a une taille fixe
		WIDTH = 500;
		HEIGHT = 500;

		/**
		 * Démarrage du jeu
		 **/
		initGame = function() {
			currentGameObject.init();
		}

		/**
		 * Démarrage d'une partie
		 **/
		startGame = function() {
			currentGameObject.start();
			run();
		}

		/****************** GAME LOOP *******************/
		/**
		 * Boucle de jeu
		 * @param temps de jeu
		 **/
		run = function(_t) {
			TIME = _t;
			// Si le jeu est en cours
			if(currentGameObject.stop === false) {
				// Met à jour le controller principal du jeu
				currentGameObject.update();

				// Nettoire l'écouteur d'évènement clavier/souris
				input.mouse.click = false;
			}

			// On continue à appeller la boucle de gameplay seulement si le jeu n'est pas sur Stop
			if (!currentGameObject.stop) {
				// Rappel la boucle de jeu
				requestAnimationFrame(run);
			}
		};
		/*************** ENDING GAME LOOP ***************/

		// PATH
		var path = { 
			img : 	"img/",
			sound : "sound/",
			conf : 	"js/conf/"
		};
		
		// INSTANCES
		input = new Input({
            target : $('#gameCanvas')
        });
		game = new Game();
		currentGameObject = game;

		// Initialisation du jeu
		initGame();

		// Lancement du jeu
		startGame();

	</script>

</body>
</html>